Veri guncelleme
10.08.2016 - 10:06
Merhaba,
Ben veritabanı işlemlerini pekiştirme adına ufak bir çalışma yapıyorum. tablelayoutta seçtiğim satıra basılı tutup bir ocntex menu aracılığıyla düzenle değip güncelleme ekranına geçiyorum. Bu ekrana geçerken seçmiş olduğum satırın bilgilerini edittextler üzerine bilgileri getiriyorum. Ancak yaptığım bir yanlış var bir türlü bulamadım. Hangi satırı seçersem seçeyim daima ilk satırdaki bilgiyi edittextlere getiriyor. Bu konuda yardımlarınızı rica ederim. Teşekkürler.
Kodlarım aşağıdaki gibidir;
Veritabanındaki kodlarım;
public void Guncelle(long id, String ad, String mail, String adres) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(AD, ad);
cv.put(MAIL, mail);
cv.put(ADRES, adres);
db.update(TABLE_NAME, cv, ID + "=" + id, null);
db.close();
}
Satır seçtiğim sınıfdaki kodlarım;
case R.id.duzenle:
Veritabani data = new Veritabani(getApplicationContext());
List<Ogrenci> ogrenciListe = new ArrayList<Ogrenci>();
ogrenciListe=data.TumKayitlar();
for (final Ogrenci ogrenci:ogrenciListe) {
TableRow satirlar = new TableRow(getApplicationContext());
satirlar.setGravity(Gravity.CENTER);
satirlar.setOrientation(TableRow.HORIZONTAL);
TextView tv_adim = new TextView(getApplicationContext());
tv_adim.setPadding(2, 2, 100, 2);
tv_adim.setTextColor(Color.WHITE);
tv_adim.setText(ogrenci.getAdSoyad());
TextView tv_mailim = new TextView(getApplicationContext());
tv_mailim.setPadding(2, 2, 100, 2);
tv_mailim.setTextColor(Color.WHITE);
tv_mailim.setText(ogrenci.getMail());
TextView tv_adresim = new TextView(getApplicationContext());
tv_adresim.setPadding(2, 2, 2, 2);
tv_adresim.setTextColor(Color.WHITE);
tv_adresim.setText(ogrenci.getAdres());
satirlar.addView(tv_adim);
satirlar.addView(tv_mailim);
satirlar.addView(tv_adresim);
tablos.addView(satirlar);
CharSequence charSequence= ogrenci.getAdSoyad();
CharSequence charSequence1 = ogrenci.getMail();
CharSequence charSequence2 = ogrenci.getAdres();
CharSequence charSequenceid = String.valueOf(ogrenci.getId());
Intent intentim = new Intent(getApplicationContext(),Guncelle.class);
intentim.putExtra("anahtar",charSequence);
intentim.putExtra("anahtar2",charSequence1);
intentim.putExtra("anahtar3",charSequence2);
intentim.putExtra("anahtar4",charSequenceid);
mode.finish();
startActivity(intentim);
return true;
}
Güncelleme sınıfındaki kodlarım;
package com.example.bygenius.veritabanicalisma;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Guncelle extends AppCompatActivity {
EditText etad,etmail,etadres;
private long id;
Button btnGuncelle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guncelle);
etad = (EditText) findViewById(R.id.etadi);
etmail = (EditText) findViewById(R.id.etmailim);
etadres = (EditText) findViewById(R.id.etadresim);
btnGuncelle = (Button) findViewById(R.id.btGuncelle);
Bundle gelenveri = getIntent().getExtras();
CharSequence gelenYazi = gelenveri.getCharSequence("anahtar");
CharSequence gelenYazi2 = gelenveri.getCharSequence("anahtar2");
CharSequence gelenYazi3 = gelenveri.getCharSequence("anahtar3");
etad.setText(gelenYazi);
etmail.setText(gelenYazi2);
etadres.setText(gelenYazi3);
btnGuncelle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String adiz = etad.getText().toString();
String mailiz = etmail.getText().toString();
String adresiz = etadres.getText().toString();
Bundle gelenverici = getIntent().getExtras();
CharSequence gelenid = gelenverici.getCharSequence("anahtar4");
id = Long.valueOf(gelenid.toString());
Veritabani data = new Veritabani(getApplicationContext());
data.Guncelle(id,adiz,mailiz,adresiz);
Toast.makeText(Guncelle.this, "Veri Güncellendi", Toast.LENGTH_SHORT).show();
}
});
}
}
8
Görüntülenme
0 Beğeni